package com.baidu.day03;

import javax.swing.*;
import javax.swing.filechooser.FileSystemView;
import java.awt.*;
import java.io.File;

public class test01 {

    public static void main(String[] args) {
        // 创建一个 JFrame 实例
        JFrame frame = new JFrame("Swing文件夹选择案例");

        // 设置默认的关闭操作
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 创建一个面板来放置组件
        JPanel panel = new JPanel();

        // 创建一个按钮
        JButton button = new JButton("选择文件夹");
        panel.add(button);

        // 创建一个文本输入框
        JTextField textField = new JTextField("点击按钮选择文件夹", 30);
        panel.add(textField);

        // 创建一个事件监听器
        button.addActionListener(e -> {
            // 创建一个文件选择器
            JFileChooser fileChooser = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory());
            fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // 只选择文件夹
            int result = fileChooser.showOpenDialog(null);

            if (result == JFileChooser.APPROVE_OPTION) {
                File selectedFolder = fileChooser.getSelectedFile();
                System.out.println(selectedFolder);
                textField.setText(selectedFolder.getAbsolutePath()); // 设置文本框中的值
            }
        });

        // 设置布局管理器为 FlowLayout
        panel.setLayout(new FlowLayout());

        // 将面板添加到框架中
        frame.getContentPane().add(panel, BorderLayout.CENTER);
        // 设置窗口大小
        frame.setSize(400, 200);

        // 显示窗口
        frame.setVisible(true);
    }
}
